package aiku.numericalcontroloa.Model.Vo.EmployeeAttendance;

import lombok.Data;

import java.time.LocalDate;
import java.util.Date;

/**
 * @Author 黄广庭
 * @Date 2024/2/26 16:31
 */
@Data
public class AttendanceVo {
    String id;

    String clockinRuleId; //关联clockin_standard表的id字段

    String employeeId; //员工id

    String empno; // 员工工号

    String nickName; //员工姓名

    LocalDate clockingDate;  //打卡日期

    Date forenoonCheckinTime; //上午签到时间

    Date forenoonCheckoutTime;    //上午签退时间

    Date afternoonCheckinTime;    //下午签到时间

    Date afternoonCheckoutTime;   //下午签退时间

    String clockinPosition;    //签到位置

    String fciClockinPosition;

    String fcoClockoutPosition;

    String aciClockinPosition;

    String acoClockoutPosition;

    Integer forenoonStatus;    //上午出勤情况（0正常，1迟到，2早退，3旷工，4请假，5迟到&早退，6未签退，7迟到&未签退）

    /**
     * 上午签到状态（0未打卡，1正常，2迟到，3旷工，4请假）
     */
    Integer forenoonCheckinStatus;

    /**
     * 上午签退状态（0未打卡，1正常，2早退，3旷工，4请假，5未签退）
     */
    Integer forenoonCheckoutStatus;

    /**
     * 下午签到状态（0未打卡，1正常，2迟到，3旷工，4请假）
     */
    Integer afternoonCheckinStatus;

    /**
     * 下午签到状态（0未打卡，1正常，2早退，3旷工，4请假，5未签退）
     */
    Integer afternoonCheckoutStatus;

    Integer afternoonStatus;   //下午出勤情况（0正常，1迟到，2早退，3旷工，4请假，5迟到&早退，6未签退，7迟到&未签退）

    Integer clockinType;   //打卡类型（0普通，1外勤，2出差）

    Integer normalTotal;  //正常次数

    Integer lateTotal;  //迟到次数

    Integer tardyTotal; //早退次数

    Integer absenteeismTotal; //旷工次数

    Integer leaveTotal; //请假次数

    Integer workOutsideTotal; //外勤次数

    Integer businessTripTotal; //出差次数

    Integer attendanceDays; // 出勤天数（当天有一次旷工也不算）

    // 正常打卡时间
    String forenoonCheckin;
    String forenoonCheckout;
    String afternoonCheckin;
    String afternoonCheckout;
}
